package com.bluemsun.naturallanguageprocessing.dao;

import com.bluemsun.naturallanguageprocessing.vo.BrowseVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author ：hj
 * @date ：Created in 2021/4/16 13:36
 * @description：浏览历史
 * @modified By：
 * @version: $
 */
@Repository
public interface BrowseMapper {
    /**
     * @author     ：hj
     * @date       ：Created in 2021/4/16 13:41
     * @description：添加单条记录
     * @modified By：
     * @version:
     */
    int insertOnes(BrowseVO browseVO);
    /**
     * @author     ：hj
     * @date       ：Created in 2021/4/16 13:41
     * @description：添加多条记录
     * @modified By：
     * @version:
     */
    int insertSome(List<BrowseVO> list);
    /**
     * @author     ：hj
     * @date       ：Created in 2021/4/16 13:42
     * @description：删除单条记录
     * @modified By：
     * @version:
     */
    int deleteOnes(Integer id);
    /**
     * @author     ：hj
     * @date       ：Created in 2021/4/16 13:43
     * @description：删除所有记录
     * @modified By：
     * @version:
     */
    int deleteAll(@Param("list") List<Integer> list);

    /**
     * @author     ：hj
     * @date       ：Created in 2021/4/16 13:57
     * @description：根据用户id获取该用户的浏览记录（倒序）
     * @modified By：
     * @version:
     */
    List<BrowseVO> getBrowse(@Param("id") Integer id, Integer index, Integer pageSize);
    /**
     * @author     ：hj
     * @date       ：Created in 2021/4/16 14:26
     * @description：查询该用户浏览记录总数
     * @modified By：
     * @version:
     */
     Integer getBrowseCount(Integer id);
     /**
      * @author     ：hj
      * @date       ：Created in 2021/5/11 15:55
      * @description：覆盖浏览记录
      * @modified By：
      * @version:
      */
     int update(@Param("browseVO") BrowseVO browseVO);
     /**
      * @author     ：hj
      * @date       ：Created in 2021/5/11 15:55
      * @description：该用户是否浏览过问题
      * @modified By：
      * @version:
      */
     BrowseVO countIsBrowse(@Param("id") Integer id,@Param("userId") Integer userId);
}
